1. Field of the Invention
The present invention relates to a method and apparatus for controlling the tracking path on which the working point of e.g. an industrial robot, which is driven by plural movable elements, is to move, and more particularly to the controlling method and apparatus which can easily deal with the change in the moving conditions of the respective movable elements and the modification of the tracking path of the working point which is to be made for cooperation with peripheral devices.
2. Description of the Related Art
In an automatic working machine such as an industrial robot, its working element, i.e. working tool, is driven by plural moving elements which can individually move. In order to control the tracking path of the working tool, it is convenient to describe the tracking path of the working tool using an orthogonal coordinate system; such technique has been widely adopted.
The controlling technique called "teaching playback" has been widely adopted to control the conventional industrial robot or the like. This technique usually carries out the driving control of the robot as follows. First, representative points on the required orbit of the working tool attached to the working point of the robot are successively positioned and stored in a memory. Thereafter, in order that the working tool moves on the given tracking path which is obtained by linking the representative points using straight lines and arcs, the displacements of the respective freedoms constituting the robot mechanism, i.e. individually movable moving elements are calculated by arithmetic operations. The method of the arithmetic operations is disclosed in e.g. R. Paul: Robot Manipulator: MIT Press, 1981.
Thus, describing the tracking path of the working tool using an orthogonal coordinate system has the advantages that a man manipulating the robot can easily understand the operation, the working path can be expressed in the form independent from the mechanism of the robot, and other advantages. In this case, as an orthogonal coordinate system for describing the tracking path, a coordinate system fixed to the base of the robot (hereinafter referred to as a robot coordinate system) is usually used. This is because in the case where the control technique of the teaching playback as mentioned above is used, any origin position of the coordinate system and any pose thereof may be used as long as they can be uniquely defined, and because the procedure of obtaining the relation between the displacements of the mechanism freedoms in the robot and the position and pose of the working tool can be most easily provided as in the above example.
Meanwhile, in many cases, the whole production system including robots can attain its object by not only individually using the working machines such as robots but also by using them in cooperation with several peripheral machines. The peripheral machines are mainly composed of a positioner for setting the position and pose of a working object, a conveyor for conveying the object, a traveling truck for expanding the movable range of the robot, a sensor attached to the working point of the robot, and another sensor attached in the neighborhood of the robot for sensing the working environment. Thus, in controlling the whole production system including the robots, it is important to take the cooperation between the robots and the above peripheral machines.
The respective components constituting the production system are controlled (for, e.g. positioner) or supplied with information (for, e.g. sensors) usually using the coordinate systems peculiar to the components (e.g. positioner). Therefore, it is indispensable to carry out the coordinate conversion operation in accordance with the coordinate system peculiar to each peripheral machine between the robot centrally located in the production system and the respective machines.
Such coordinate system conversion has been adopted also in the prior art. For example, in the system in which the tracking path of the working poi of a robot is modified in accordance with the condition of a working object using a sensor attached to the working tool, as disclosed in Bamba et al: A Visual Seam Tracking System for Arc-Welding Robots; Proceedings of 14th International Symposium on Industrial Robots, 1984, the information given by a sensor is expressed using a coordinate system fixed to the sensor and this expression is converted into the expression by the coordinate system fixed to the base of the robot, thus modifying the tracking path.
In recent years, the technique of "off-line programming", which is slightly different from the above example, has been also used. In the off-line programming, a product is designed by the technique of e.g. CAD (computer-aided-design), and its shape data are used to create the tracking path information of a robot. In this case also, the tracking path to be followed by the working tool is previously described using the coordinate system fixed for a product, i.e. a working object for the robot, the described tracking path is converted into that in another coordinate system fixed to the base of the robot on the basis of a presumed relative positional relation between the working object and the robot, and the tracking path described in another coordinate system is sent to a robot control apparatus to control the driving of the robot.
As a modification of the off-line programming, a technique of using e.g. a robot language has also been proposed. Its typical example is disclosed in Mujtaba, Goldman; AL User's Manual, Stanford University Report. No. STAN-CS-81-889, 1981. In this article, an idea of using plural coordinate systems is disclosed, but the main idea is to convert the data, before they are sent to a robot, into those in the coordinate system fixed to the base of the robot, as in the above example; a robot control apparatus controls the robot using the data in the coordinate system fixed to the base of the robot.
As understood from these examples, in order to control a robot, particularly a system including peripheral machines, it is indispensable to carry out the operation for the conversion between the coordinate system fixed to the base of a robot and the other coordinate systems.
A traditional technique for carrying out the conversion operation between plural coordinate systems is to describe an equation for the conversion operation in a form of fixed software program. For example, in the case where the working tool of a robot is to be controlled so as to follow a working object moving on a conveyor, the position of a target point on the path given by a teaching machine, or the like is calculated on the coordinate system fixed to the base, and thereafter it is corrected by the moving amount by the conveyor; such a technique is disclosed in e.g. JP-A-5284669. Although this correction operation means the conversion operation between the coordinate system moving with the movement of the conveyor and the robot coordinate system, the operation logic is usually fixedly described in a program in the form of a correction operation (In this case, in order to provide flexibility for the change in the moving direction of the conveyor, it is proposed to generalize a unit vector in the form of a direction cosine in the robot coordinate; in any way, the operation logic is fixedly described).
Moreover, in order to modify the tracking path of the working tool of a robot in accordance with a working object using the sensor attached to the working tool of the robot, a sensor feedback control such as seam tracking is usually carried out. In this case also, as mentioned above, the information given by the sensor is described in the coordinate system fixed for the sensor itself. The information is converted into the expression in the robot coordinate system, or in a coordinate system fixed to the working tool or working element (hereinafter referred to as a robot working point coordinate system, and the converted information is superposed on a taught path. In this way, the driving control of the robot is carried out. This example is disclosed in e.g. Proceedings of 14th International Symposium on Industrial Robots, pp. 365-374, 1974. In such a case also, the conversion operation between the sensor coordinate and the robot coordinate or working point coordinate is usually fixedly described in a software program (flexibility for parameters used for the conversion operation is usually considered). More specifically, the program is fixedly described so that the information given by the sensor is reflected on the operation control of a robot after it has been always subjected to the above conversion.
The same technique has been used in also the cases where a working object, i.e. work is set on a positioner, and the information such as working environment is to be obtained using the sensor fixed to the base of the robot.
Furthermore, in the off-line programming in which the operation of a robot is controlled on the basis of the shape data of a working object obtained using e.g. CAD, the relationship between the robot and the working object is previously presumed, the tracking path to be traced by the robot, which is expressed in the coordinate system fixed to the working object (hereinafter referred to as a work coordinate system) in accordance with that relationship, is converted into that in the robot coordinate system through the off-line processing, and the tracking path information of the robot expressed in the robot coordinate system is sent to a robot control apparatus to control the driving of the robot. In this case also, the conversion operation between the coordinate system fixed to the working object (work coordinate system) and the robot coordinate system is executed in the formulated form as meeting a predetermined relation. The tracking path in the robot control apparatus is always expressed in the robot coordinate system, and so the robot control apparatus does not usually have the concept of the work coordinate system.
In the prior arts described above, the robot system is controlled using a dedicated processing prepared as a software program in accordance with the individual arrangements or characteristics of a robot and its peripheral devices. Therefore, in the case where the environment of using the peripheral devices, such as their construction, arrangement, etc. is changed, or the addition of a new function to the robot or change in the function of the robot is to be made, the corresponding software program must be prepared. For example, in the cases where the robot is to be mounted on a traveling truck, it is to be moved in synchronism with the conveyor, change or addition for the construction of the system including the robot is to be made, and the construction thereof is to be corrected in view of the relationship among the components of the system, the corresponding dedicated software program must be changed or added.
Thus, the prior arts are problematic in maintenance of the software incorporated in the robot control apparatus, and offer several problems of the increase of software capacity, the increase in the number of steps required to change or add the software, and the limitation to the applicability or expandability of the control apparatus.